//
// Created by zuo on 2024/7/5.
// 题目链接
//

# include <bits/stdc++.h>
using namespace std;
const int MAXN = 5e5 + 7; // 桶的数量最好别超过 1e6
int bucket[MAXN]; // 一个桶对应一个值  初始化都是零

int main()
{
    ios::sync_with_stdio(0), cin.tie(0), cout.tie(0);
    int n;
    cin >> n;
    // 桶排序 复杂度O(n) 不比较  适用于 n 大  但是 a[i]小的情况
    for (int i = 0; i < n; i++)
    {
        int x;
        cin >> x;
        bucket[x]++; // 桶里面记录的是 有几个 这个数
    }
    for (int i = 0; i <= n; i++)    // i 的范围 必须是桶内元素的范围 0-n
    {
        for (int j = 1; j <= bucket[i]; j++)
        {
            cout << i << ' '; // 值为 i 的元素 有bucket[i]个
        }
    }
    cout << endl;
    return 0;
}
